package com.guyu.plugin.log.event;

import com.guyu.plugin.log.enums.BusinessStatus;
import jakarta.servlet.http.HttpServletRequest;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 操作日志
 */
@Data
public class OperLogEvent implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;
    /**
     * 账号类型
     */
    private String loginType;
    /**
     * 日志标题
     */
    private String title;
    /**
     * 日志描述
     */
    private String desc;
    /**
     * 事件类型
     */
    private Integer type;
    /**
     * 请求方式
     */
    private String requestMethod;
    /**
     * 请求url
     */
    private String requestURI;
    /**
     * 请求参数
     */
    private String requestData;
    /**
     * 返回参数
     */
    private String responseData;
    /**
     * 请求IP
     */
    private String ipAddr;
    /**
     * User-Agent
     */
    private String userAgent;
    /**
     * 操作状态
     */
    private BusinessStatus status;
    /**
     * 提示消息
     */
    private String message;
    /**
     * 操作时间
     */
    private Long opTime;
    /**
     * 消耗时间
     */
    private Long costTime;
    /**
     * 请求体
     */
    private HttpServletRequest request;

}
